#ifndef _TODOH_
#define _TODOH_
#include <iostream>
#include <string>
#include <vector>
#include <sqlite3.h>
#include <libsqlitewrapped.h>
#include <cstdlib>
using namespace std;

class Todo {
	/* This class is used for all control over events. A similar class will be made for 
	 * todos, etc. I don't see a way to do this with derived classes, too much differs.
	 * There _was_ going to be a class for a DB controller for each class
	 * but, the need for it was eliminated thanks to me coming up with a better idea
	 */
	public:
	Todo(Database* db, int getid);
	int id; 
	string name;
	string details;
	int priority;
	string date; //this will obviously be in a different format... this is temporary, probably boost time/date.
	string time;
	bool actually_worth_doing;
	string category_name;
	string class_name;
	
	void update(); //updates the DB with changed info.
	void remove(); //deletes this class from the DB.
	
	static vector<Todo*> get_all_events(Database* dbtmp);
	private:
	Database* db;
};
#endif
